home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
I-Info Magazine
/
(c)i20.d64
/
b.a.sda
/
BANK ACCOUNTS
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
25KB
|
771 lines
10 REM *** BANK ACCOUNTS *** .
11 REM *** BY JIM ABRONSKI *** .
12 REM *** UPDATED 10/24/87 *** .
14 POKE53280,0:POKE53281,0:PRINTCHR$(142)
15 PRINT"[147]":CLOSE4:OPEN15,8,15,"I0":GOTO260
20 CLR:OPEN15,8,15:CR$=CHR$(13):PO$=CHR$(16):QO$=CHR$(34)
25 DIMW$(5),N1$(19),N2$(9),M$(12),SL$(20),SP$(20),S2$(20),P4$(20)
30 DIMA1$(50),A2$(50),A3$(50),A4$(50),A5$(50),A6$(50),A7$(50),A8$(50)
31 DIMB1$(50),B2$(50),B3$(50),B4$(50),B5$(50),B6$(50),B7$(50),B8$(50)
32 DIMDA$(50),TN$(50),DE$(50),CM$(50),RM$(50),AM$(50),BA$(50),MK$(50)
33 DIMMDE$(20),MCM$(20),MRM$(20),PF$(20),LP$(20),LN$(20)
35 S7$=" ":CD$="[147]"
36 MT$="[147][154] B A N K A C C O U N T S "
55 SL$(1)=" CHECKING ACCOUNT #1 "
60 SL$(2)=" CHECKING ACCOUNT #2 "
65 SL$(3)=" SAVINGS ACCOUNT "
70 SL$(4)=" START A NEW ACCOUNT "
75 SL$(5)=" CHANGE PASSWORD "
80 SL$(6)=" ACCESS UTILITIES "
81 SL$(7)=" READ DOCUMENTATION "
83 SL$(8)=" EXIT TO BASIC ":AN=1:UP$="[145]":DN$="":C5$="":EI=0
85 C1$="":C2$="[154]":MN=8:C3$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]":C4$=""
90 PRINTMT$;DN$:GOSUB3720
120 A=AN:ON A GOTO875,875,875,455,395,150,153,154
150 GOTO3702
153 GOTO3710
154 PRINT"[158] LEAVE QUICKLOAD WEDGE IN PLACE? (Y[158]/N[158])[145][145]"
155 GETAN$:IFAN$=""THEN155
156 IFAN$="N"THENSYS64738
157 IFAN$<>"Y"THEN155
158 PRINT"[147]**** [158]COMMODORE 64 BASIC V2 ****"
159 PRINT"[154]64K RAM SYSTEM 37895[154] BASIC BYTES FREE":NEW
160 LL=31:PRINT" >";
165 OPEN9,0:AN$="":BN$="":POKE204,0
170 GET#9,BN$:IFBN$=""THEN170
175 IFBN$=CHR$(13)THENBN$="":CLOSE9:PRINT" ":POKE204,1:RETURN
180 IFBN$=""ORBN$="[157]"ORBN$="[145]"ORBN$=""THENGOTO170
185 IFBN$=""ORBN$="[147]"ORBN$=CHR$(34)THEN170
190 IFLEN(AN$)=LLTHENPRINT" ":PRINT"";LL;"LETTER LIMIT.":BN$=CHR$(13):GOTO175
195 IFAN$=""ANDBN$=CHR$(20)THEN170
200 IFBN$=CHR$(20)THENPRINT" [157][157] [157]";:AN$=LEFT$(AN$,LEN(AN$)-1):GOTO170
205 AN$=AN$+BN$:PRINTBN$;:GOTO170
210 P=0:OPEN4,4
220 PRINT#4:IFNOTPEEK(144)AND128THENCLOSE4:GOTO240
225 PRINT" ***[158] PLEASE TURN THE PRINTER ON ***":P=P+1
230 IFP>999THENCLOSE4:GOTO255
235 GOTO220
240 IFP>0THENPRINT" ***[158] THANK YOU ***":P=0:RETURN
245 RETURN
250 PRINT"[158] PRESS RETURN [146][158] WHEN READY TO PRINT"
255 PRINT"[158] (PRESS 'A[158]' TO ABORT PRINTING)":P=0:RETURN
260 OPEN8,8,8,"MO.BILLS 3,S,R"
265 GOSUB2920
270 INPUT#8,PW$
275 RS=ST:GOSUB2920:GOSUB2927
295 CLOSE8
305 IFGG=1THENRETURN
310 E=1:POKE808,234
312 PRINT"[147][154] B A N K A C C O U N T S "
314 PRINT"[158] PLEASE ENTER YOUR PASSWORD,"
316 INPUT"[158] THEN PRESS RETURN [146][144]";P$
320 IFP$=PW$THENPOKE808,237:GOTO20
325 IF E=3THENE=1:GOTO340
330 PRINTTAB(10)" INVALID PASSWORD.":PRINTTAB(10)" TYPE CAREFULLY. "
335 E=E+1:FORT=1TO999:NEXTT:GOTO312
340 ME$="UNAUTHORIZED ENTRY ATTEMPT....ACCESS DENIED....LOADING DOCUMENTATION."
345 SP$=" "
350 ME$=SP$+SP$+ME$+" ":X9=1
355 CP$=""
360 FORXX=1TO50:NEXT
365 PRINT"";CP$;MID$(ME$,X9,38);CHR$(19)
370 X9=X9+1:IFX9>LEN(ME$)THENX9=1
375 IFX9=1ANDRE=0THENPOKE808,237:GOTO153
380 IFPEEK(203)=64THEN360
385 PRINTCP$;LEFT$(SP$+SP$,38);CHR$(19)
390 GOTO312
395 PRINT"[147][154] C H A N G E P A S S W O R D "
400 GG=1:GOSUB260
405 PRINT"[158] CURRENT PASSWORD IS: ";PW$
410 INPUT"[158] ENTER DESIRED PASSWORD:";PW$
415 OPEN8,8,8,"@0:MO.BILLS 3,S,W"
420 GOSUB2920
425 PRINT#8,PW$
430 GOSUB2920
435 CLOSE8
440 PRINT" YOUR NEW PASSWORD HAS BEEN RECORDED."
445 FOR T=1TO2000:NEXTT:GOTO20
455 OPEN8,8,8,"ACCT.INFO.,S,R"
460 GOSUB2920
465 INPUT#8,NA$(1),BN$(1),AC$(1)
470 INPUT#8,NA$(2),BN$(2),AC$(2)
475 INPUT#8,NA$(3),BN$(3),AC$(3)
480 RS=ST:GOSUB2920:GOSUB2927
500 CLOSE8
515 PRINT"[147][154] START A NEW ACCOUNT "
520 PRINT"[158]STATUS OF CURRENT BANK ACCOUNTS:"
525 PRINT"(1) CHECKING ACCOUNT #1:"
530 PRINTTAB(7)""NA$(1)
535 IF NA$(1)="INACTIVE"THEN550
540 PRINTTAB(7)BN$(1)
545 PRINTTAB(7)"ACCT # "AC$(1)
550 PRINT"(2) CHECKING ACCOUNT #2:"
555 PRINTTAB(7)""NA$(2)
560 IF NA$(2)="INACTIVE"THEN575
565 PRINTTAB(7)BN$(2)
570 PRINTTAB(7)"ACCT # "AC$(2)
575 PRINT"(3) SAVINGS ACCOUNT"
580 PRINTTAB(7)""NA$(3)
585 IF NA$(3)="INACTIVE"THEN600
590 PRINTTAB(7)BN$(3)
595 PRINTTAB(7)"ACCT # "AC$(3)
600 PRINT"[158]WHICH ACCOUNT (1-3[158]) DO YOU WISH TO USE?"
605 PRINT"[158] (JUST RETURN [146][158] TO RETURN TO MENU)[145]"
610 GOSUB3690
615 IFAN$=CHR$(13)THEN20
620 IFVAL(AN$)>3THEN610
625 A=VAL(AN$):IFAC$(A)="INACTIVE"THEN665
630 PRINT"[147][158]THAT ACCOUNT IS ALREADY IN USE."
635 PRINT"DO YOU WISH TO CHANGE THE ACCOUNT"
645 PRINT"INFORMATION FOR THIS ACCOUNT? (Y[158]/N[158])"
650 GOSUB3690
655 IFAN$="N"THEN515
660 IFAN$<>"Y"THEN650
665 IFA=3THEN680
670 PRINT"[147][154] ACCT. INFO. CHECKING ACCOUNT #"A"[157] [146]"
675 GOTO690
680 PRINT"[147][154] ACCT. INFO. SAVINGS ACCOUNT "
685 BL$=" "
690 PRINT"[158]IN WHAT NAME WILL THIS ACCOUNT BE IN?"
695 GOSUB160:SU$(1)=AN$
700 PRINT"[158]WHAT'S THE FINANCIAL INSTITUTION'S NAME?"
705 GOSUB160:SU$(2)=AN$
710 PRINT"[158]WHAT IS YOUR ACCOUNT NUMBER?"
715 GOSUB160:SU$(3)=AN$
720 PRINT"[158]IS THE ABOVE INFORMATION CORRECT? (Y[158]/N[158])"
725 PRINT" (ENTER 'A[158]' TO ABORT)"
730 GOSUB3690
735 IF AN$="N"THEN665
740 IFAN$="A"THEN20
745 IFAN$<>"Y"THEN730
747 NA$(A)=SU$(1):BN$(A)=SU$(2):AC$(A)=SU$(3)
750 OPEN8,8,8,"@0:ACCT.INFO.,S,W"
755 GOSUB2920
760 FORX=1TO3
770 PRINT#8,QO$+NA$(X)+QO$;CR$;QO$+BN$(X)+QO$;CR$;QO$+AC$(X)+QO$
785 NEXTX:GOSUB2920
790 CLOSE8
865 PRINT" *** [158]YOUR NEW ACCOUNT IS NOW OPEN ***"
870 FORT=1TO2000:NEXTT:GOTO20
875 PRINTCD$;" *** [158]LOADING ACCOUNT #";A;"***"
876 REG$="REGISTER"+STR$(A):GOSUB2950:IFQ=0THENGOSUB886
877 IFNA$(A)="INACTIVE"THEN665
880 TD$=DA$(Q):IFTD$=""THENTD$=" / / "
882 GOTO930
885 IFAI=1THENRETURN
886 PRINTCD$;" *** [158]LOADING ACCOUNT INFO. ***[145][145]"
887 OPEN8,8,8,"ACCT.INFO.,S,R"
890 GOSUB2920
895 FORX=1TO3
900 INPUT#8,NA$(X),BN$(X),AC$(X)
905 NEXTX:GOSUB2920
925 CLOSE8:AI=1:RETURN
930 PRINTMT$
960 SL$(1)=" VIEW YOUR REGISTER "
965 SL$(2)=" MAKE A DEPOSIT "
970 SL$(3)=" MAKE A WITHDRAWAL "
975 SL$(4)=" YOUR MONTHLY BILLS "
980 SL$(5)=" MISCELLANEOUS CHECKS "
985 SL$(6)=" PRINTOUT REGISTER "
990 SL$(7)=" BALANCE YOUR ACCOUNT "
995 SL$(8)=" USE ARCHIVE FILER "
997 SL$(9)=" TRANSACTION EDITOR "
1000 SL$(10)=" LEAVE THIS ACCOUNT "
1003 S5$=""
1005 C3$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]":C4$="":MN=10:AN=1:C5$=""
1010 IFA=3THEN:C3$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]":C4$="":MN=8
1025 IFA=3THENFORX=4TO8:SL$(X)=SL$(X+2):NEXTX
1030 GOSUB3720
1032 IFA=3ANDAN>3THENAN=AN+2
1033 IFAN>5ORAN=1THEN1065
1034 IFAN=4THEN1065
1035 IFQ<48THEN1065
1040 PRINTCD$;"[145][145][145][158]THE REGISTER IS NOW AT MAXIMUM CAPACITY."
1045 PRINT"[154] BALANCE YOUR ACCOUNT [146][158] IF NECESSARY,"
1050 PRINT"[158]THEN [154] USE ARCHIVE FILER [146][158] TO REDUCE"
1052 PRINT"[158]YOUR CURRENT REGISTER SIZE.":FORT=1TO6000:NEXTT:GOTO930
1065 ON AN GOTO2355,1180,1185,1360,1670,2535,2645,1825,3800,1100
1100 IFLA$<>"S"THEN1115
1105 PRINTCD$;" *** [158]SAVING REGISTER ***"
1110 REG$="REGISTER"+STR$(A):GOSUB3035
1115 IFSV<>1THEN20
1120 PRINTCD$;" *** [158]SAVING MONTHLY BILLS ***"
1125 GOSUB3165:GOTO20
1180 DW$="DEPOSIT":D1$="PAYCHECK":D2$="D":D3$=LD$:GOTO1190
1185 DW$="WITHDRAWAL":D1$="CASH":D2$="W":D3$=LW$
1190 PRINT"[147][154] MAKE A ";DW$;" "
1195 GOSUB2495:Q=Q+1
1200 PRINT"[158]ENTER DATE OF ";DW$;" (MO/DA/YR[158]):"
1210 PRINT"";TD$:INPUT"[145]";DA$(Q)
1220 TD$=DA$(Q):PRINT"[158]ENTER AMOUNT OF ";DW$":"
1225 INPUT"$[157][157]";AM$(Q):Z$=AM$(Q):GOSUB2455:AM$(Q)=Z$
1230 PRINT"[158]ENTER MEMO FOR REGISTER IF DESIRED:"
1235 PRINT"";D1$:INPUT"[145]";RM$(Q)
1240 DE$(Q)=DW$:CM$(Q)=" ":TN$(Q)=D2$+RIGHT$(STR$(VAL(D3$)+1),3)
1245 MK$(Q)=" ":BA=VAL(BA$(Q-1)):AM=VAL(AM$(Q)):IFD2$="W"THEN1250
1246 BS=BA+AM:BA$(Q)=STR$(BS)
1247 D=LEN(TN$(Q)):D=D-1:LD$=RIGHT$(TN$(Q),D)
1248 GOTO1255
1250 BS=BA-AM:BA$(Q)=STR$(BS)
1252 W=LEN(TN$(Q)):W=W-1:LW$=RIGHT$(TN$(Q),W)
1255 Z$=BA$(Q):GOSUB2455:BA$(Q)=Z$
1256 PRINT"YOUR ";DW$;" HAS BEEN RECORDED UNDER"
1260 PRINT"TRANSACTION # "TN$(Q)
1270 GOSUB1750:GOTO930
1360 IFMS=1THEN1400
1365 PRINTCD$;" ***[158] LOADING MONTHLY BILLS ***"
1366 BILLS$="MO.BILLS"+STR$(A):GOSUB3095:MS=1:GOTO1400
1370 PRINT"[147][154] M O N T H L Y B I L L S "
1375 PRINT"[158]NAME OF BILL: DATE PAID:"
1380 FORX=1TOM
1390 PRINT" "MDE$(X)
1395 PRINTTAB(31)"[145]"PF$(X)"[157]":NEXTX
1397 PRINT"[158] ( ANY KEY[158] RETURNS TO MENU )"
1398 GETAN$:IFAN$=""THEN1398
1400 PRINT"[147][154] M O N T H L Y B I L L S "
1401 SL$(1)=" PAY A MONTHLY BILL "
1402 SL$(2)=" VIEW MONTHLY BILLS "
1403 SL$(3)=" ADD A MONTHLY BILL "
1404 SL$(4)=" DELETE A MONTHLY BILL "
1405 SL$(5)=" PRINT BILLS SUMMARY "
1406 SL$(6)=" RETURN TO MAIN MENU "
1415 AN=1:MN=6:C3$="[145][145][145][145][145][145][145][145][145][145][145]":C4$="":C5$="":GOSUB3720
1435 ON AN GOTO4200,1370,1545,4200,4100,930
1470 IFAN=MNTHEN1400
1472 IFQ>47THEN1040
1475 B=AN:Q=Q+1:DE$(Q)=MDE$(B):CM$(Q)=MCM$(B):MK$(Q)=" ":RM$(Q)=MRM$(B)
1480 PRINT"[147][154] MONTHLY BILL TO PAY : "
1485 PRINT" "DE$(Q):PRINT" "CM$(Q):PRINT" "RM$(Q)
1490 PRINT"[158]ENTER DATE OF CHECK (MO/DA/YR[158]):"
1500 PRINT"";TD$:INPUT"[145]";DA$(Q):PF$(B)=DA$(Q):TD$=DA$(Q)
1505 IFLEFT$(RIGHT$(LP$(B),3),1)<>"."THENLP$(B)=""
1510 PRINT"[158]ENTER AMOUNT OF CHECK:":PRINT" ";LP$(B);"[145]"
1515 INPUT"$[157][157]";AM$(Q):Z$=AM$(Q):GOSUB2455:AM$(Q)=Z$:LP$(B)=AM$(Q)
1535 GOSUB1760:LN$(B)=TN$(Q):PF$(B)=DA$(Q):GOSUB1750
1540 SV=1:LA$="S":GOTO1400
1545 PRINT"[147] [154] ADD A MONTHLY BILL "
1546 IFM<18THEN1550
1547 PRINT"[150]MONTHLY BILLS FILE IS AT MAXIMUM SIZE."
1548 PRINT"YOU MUST NOW DELETE A BILL TO ADD ONE."
1549 FORT=1TO5000:NEXTT:GOTO1360
1550 PRINT"[158]PLEASE ENTER THE EXACT NAME TO WHICH"
1555 PRINT"CHECKS WILL BE WRITTEN:"
1560 GOSUB160:MDE$(M+1)=AN$
1565 PRINT"[158]PLEASE ENTER THE MEMO TO BE RECORDED"
1570 PRINT"ON THE CHECKS (ACCOUNT #[158]):"
1575 GOSUB160:MCM$(M+1)=AN$
1580 PRINT"[158]PLEASE ENTER THE MEMO TO BE RECORDED"
1585 PRINT"IN THE CHECKBOOK REGISTER:"
1590 GOSUB160:MRM$(M+1)=AN$
1595 PF$(M+1)=" UNPAID ":LP$(M+1)="":LN$(M+1)="NONE"
1600 PRINT"[158]IS THE ABOVE INFORMATION CORRECT? (Y[158]/N[158])"
1605 GOSUB3690
1610 IFAN$="Y"THENM=M+1:MB$=STR$(M):SV=1:GOTO1400
1615 IFAN$<>"N"THEN1605
1620 GOTO1545
1625 IFAN=MNTHEN1400
1640 SV=1:DM=AN:IFDM=MTHEN1665
1645 FORX=1TOM-1
1650 IFX<DMTHEN1660
1655 MDE$(X)=MDE$(X+1):MCM$(X)=MCM$(X+1):MRM$(X)=MRM$(X+1):PF$(X)=PF$(X+1)
1660 NEXTX
1665 M=M-1:MB$=STR$(M):GOTO1400
1670 PRINT"[147][154] MISCELLANEOUS CHECKS "
1675 GOSUB2495:Q=Q+1
1680 PRINT"[158]ENTER DATE OF CHECK (MO/DA/YR[158]):"
1690 PRINT" ";TD$:INPUT"[145] ";DA$(Q):TD$=DA$(Q)
1705 PRINT"[158]ENTER TO WHOM CHECK WILL BE WRITTEN:"
1710 GOSUB160:DE$(Q)=AN$
1715 PRINT"[158]ENTER THE AMOUNT OF THE CHECK:"
1720 INPUT" $[157][157]";AM$(Q):Z$=AM$(Q):GOSUB2455:AM$(Q)=Z$
1725 PRINT"[158]ENTER MEMO FOR THE CHECK (ACCOUNT #[158]):"
1730 GOSUB160:CM$(Q)=AN$
1735 PRINT"[158]ENTER A MEMO FOR THE REGISTER:"
1740 GOSUB160:RM$(Q)=AN$
1745 MK$(Q)=" ":GOSUB1760:GOSUB1750:GOTO1755
1750 PRINT"[158]YOUR ACCOUNT BALANCE IS NOW $"BA$(Q)"[145][145]"
1752 FORT=1TO2000:NEXTT:RETURN
1755 GOTO930
1760 BA=VAL(BA$(Q-1)):AM=VAL(AM$(Q)):BS=BA-AM:BA$(Q)=STR$(BS)
1765 Z$=BA$(Q):GOSUB2455:BA$(Q)=Z$
1770 TN$(Q)=STR$(VAL(LC$)+1)
1775 PRINT"[158]T0 BE PAID WITH CHECK #"TN$(Q)"[158]? (Y[158]/N[158])"
1780 GOSUB3690
1785 IFAN$="Y"THENLC$=TN$(Q):GOTO1800
1787 IFAN$<>"N"THEN1780
1790 INPUT"[145]WHAT CHECK #[158] DO YOU WANT TO USE [157][157][157][157][157][157][157][157]";TN$(Q)
1792 IFTN$(Q)="MEMO"THEN1800
1795 LC$=TN$(Q)
1800 PRINT"[158]DO YOU WISH TO PRINT THIS CHECK? (Y[158]/N[158])"
1805 GOSUB3690
1810 IFAN$="Y"THENGOSUB3210:RETURN
1812 IFAN$<>"N"THEN1805
1815 RETURN
1825 PRINT"[147][154] A R C H I V E F I L E R "
1830 SL$(1)=" SAVE A MONTH "
1835 SL$(2)=" LOAD A MONTH "
1840 SL$(3)=" RETURN TO MAIN MENU ":NF=0
1845 AN=1:MN=3:C3$="[145][145][145][145][145]":C4$="":C5$="":GOSUB3720
1870 ON AN GOTO1880,2145,930
1880 IFQ=0THENPRINT"THE REGISTER IS EMPTY.":FORT=1TO2000:NEXTT:GOTO930
1885 INPUT"[158]WHICH MONTH # (1-12[158]) TO SAVE";M$
1890 IF LEN(M$)>2ORVAL(M$)>12THENPRINT"INVALID ENTRY.[145][145][145][145][145][145]":GOTO1885
1900 IFLEN(M$)=1THENM$="0"+M$
1905 PRINT"CHECKING TRANSACTIONS...PLEASE WAIT."
1910 AR=1:FORX=1TOQ
1915 IFLEFT$(DA$(X),2)<>M$THEN1930
1920 AR=AR+1:IFMK$(X)<>"*"THEN1955
1930 NEXTX:IFAR<>1THEN1985
1935 PRINT"THERE ARE NO TRANSACTIONS FOR THAT"
1940 PRINT"MONTH IN THE CURRENT REGISTER."
1945 GOTO1965
1955 PRINT"ALL THE TRANSACTIONS IN MONTH ";M$
1960 PRINT"HAVE NOT CLEARED YOUR BANK YET."
1965 PRINT"[158]DO YOU WISH TO SAVE ANOTHER MONTH? (Y[158]/N[158])"
1970 GOSUB3690:IFAN$="Y"THEN1885
1975 IFAN$="N"THEN930
1980 GOTO1970
1985 Y=1:Z=1:FORX=1TOQ
1990 IFLEFT$(DA$(X),2)<>M$THEN2010
1995 A1$(Y)=DA$(X):A2$(Y)=TN$(X):A3$(Y)=DE$(X):A4$(Y)=CM$(X)
2000 A5$(Y)=RM$(X):A6$(Y)=AM$(X):A7$(Y)=BA$(X):A8$(Y)=MK$(X):Y=Y+1
2005 GOTO2020
2010 B1$(Z)=DA$(X):B2$(Z)=TN$(X):B3$(Z)=DE$(X):B4$(Z)=CM$(X)
2015 B5$(Z)=RM$(X):B6$(Z)=AM$(X):B7$(Z)=BA$(X):B8$(Z)=MK$(X):Z=Z+1
2020 NEXTX
2025 M$=M$+RIGHT$(A1$(1),3):PRINT"[158]SAVING REGISTER FOR MONTH ";M$
2050 REG$="ACCT."+STR$(A)+"-"+M$
2055 OPEN8,8,8,"0:"+REG$+",S,W"
2060 NF=1:GOSUB2920:IFNF=1THEN2065
2062 CLOSE8:PRINT" FILE ALREADY EXISTS ":FORT=1TO2000:NEXTT:GOTO1825
2065 QTN$=STR$(Y-1)
2070 PRINT#8,QTN$
2075 NF=0:GOSUB2920
2080 FORX=1TOY
2085 PRINT#8,A1$(X);CR$;A2$(X);CR$;QO$+A3$(X)+QO$;CR$;Q0$+A4$(X)+QO$
2090 PRINT#8,QO$+A5$(X)+QO$;CR$;A6$(X);CR$;A7$(X);CR$;A8$(X)
2095 NEXTX:GOSUB2920
2100 CLOSE8
2105 PRINT"[158]YOUR ARCHIVE FILE HAS BEEN SAVED."
2115 PRINT"ADJUSTING REGISTER...PLEASE WAIT.[145][145]"
2120 Q=Z-1:FORX=1TOQ
2125 DA$(X)=B1$(X):TN$(X)=B2$(X):DE$(X)=B3$(X):CM$(X)=B4$(X)
2130 RM$(X)=B5$(X):AM$(X)=B6$(X):BA$(X)=B7$(X):MK$(X)=B8$(X)
2135 NEXTX
2140 REG$="REGISTER"+STR$(A):LA$="S":GOTO930
2145 INPUT"[158]LOAD WHICH REGISTER (MO/YR[158])";ML$
2150 IFLEN(ML$)<>5THENPRINT"[145][145][145][145][145]":GOTO2145
2155 IFVAL(LEFT$(ML$,2))>12THEN2145
2160 IFAV=1THEN2170
2165 IFLA$="S"THENREG$="REGISTER"+STR$(A):GOSUB3035:LA$=""
2170 AV=0:REG$="ACCT."+STR$(A)+"-"+ML$
2175 OPEN8,8,8,"0:"+REG$+",S,R"
2180 NF=1:GOSUB2920:IFNF=1THEN2190
2185 CLOSE8:PRINT" FILE NOT FOUND ":FORT=1TO2000:NEXTT:GOTO1825
2190 PRINT"LOADING REGISTER FOR ";ML$
2195 INPUT#8,QTN$
2200 NF=0:GOSUB2920
2205 Q=VAL(QTN$):FORX=1TOQ
2210 INPUT#8,DA$(X),TN$(X),DE$(X),CM$(X),RM$(X),AM$(X),BA$(X),MK$(X)
2215 RS=ST
2220 GOSUB2920:GOSUB2927
2235 NEXTX:CLOSE8
2240 FORX=1TOQ:Z$=AM$(X):GOSUB2455:AM$(X)=Z$
2245 Z$=BA$(X):GOSUB2455:BA$(X)=Z$:NEXTX
2260 PRINT"[147][154] A R C H I V E F I L E ";ML$;" "
2265 SL$(1)=" VIEW THE REGISTER "
2270 SL$(2)=" PRINT THE REGISTER "
2275 SL$(3)=" LOAD ANOTHER ARCHIVE MONTH "
2280 SL$(4)=" RETURN TO CURRENT REGISTER "
2285 SL$(5)=" LEAVE THIS ACCOUNT "
2290 AN=1:MN=5:C3$="[145][145][145][145][145][145][145][145][145]":C4$="":C5$="":GOSUB3720
2315 ON AN GOTO2355,2535,2325,2345,1100
2325 AV=1:PRINT"":GOTO2145
2345 REG$="REGISTER"+STR$(A):GOSUB2950:GOTO930
2355 PRINT"[147]":POKE53281,15:BA=VAL(BA$(1))-VAL(AM$(1)):BA$(0)=STR$(BA):X=0
2360 Z$=BA$(0):GOSUB2455:BA$(0)=Z$
2365 LI$="[151] [195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
2370 IFX<0THENX=0
2375 PRINT"[147][144]CURSOR UP FOR PREV.PAGE[146] BAL.FWD[146]$";BA$(X);"[145]":X=X+1
2380 Y=X:FORX=YTOY+6
2385 IFX>QTHEN2425
2390 PRINT"[144]"TN$(X):PRINTTAB(5)"[145]"DE$(X):PRINTTAB(31)"[145]$";AM$(X);DA$(X)
2395 IFMK$(X)=""THENMK$(X)=" "
2400 PRINTTAB(9)"[145]"MK$(X)" "RM$(X):PRINTTAB(27)"[145]BAL:$";BA$(X);LI$
2405 NEXTX:PRINT"[144]CURSOR DOWN FOR NEXT PAGE[145][145]"
2407 GOSUB3690
2410 IFAN$=CHR$(17)THENX=X-1:GOTO2375
2415 IFAN$=CHR$(145)THENX=Y-8:GOTO2370
2420 GOTO2407
2425 PRINT"[144] PRESS RETURN [146][144] TO RETURN TO MENU."
2427 GOSUB3690
2430 IFAN$=CHR$(145)THENX=Y-8:GOTO2370
2435 IFAN$<>CHR$(13)THEN2427
2440 POKE53281,0
2445 IFREG$<>"REGISTER"+STR$(A)THEN2260
2450 GOTO930
2455 V$=RIGHT$(Z$,3):IFMID$(V$,2,1)="."THEN Z$=Z$+"0":GOTO2485
2465 IFLEFT$(V$,1)<>"."THENZ$=Z$+".00"
2467 IFRIGHT$(Z$,1)="."THENZ$=Z$+"00"
2470 FORZZ=1TOLEN(Z$)
2475 IFRIGHT$(LEFT$(Z$,ZZ),1)="."THENZ$=LEFT$(Z$,ZZ+2):GOTO2485
2480 NEXTZZ
2485 IFLEN(Z$)<8THENZ$=" "+Z$:GOTO2485
2487 IFLEN(Z$)>8THENZ$=RIGHT$(Z$,8)
2490 RETURN
2495 PRINT"[158]ENTER 'A[158]' NOW TO A[158]BORT THIS OPERATION,"
2505 PRINT"OR PRESS ANY OTHER KEY TO CONTINUE."
2510 GOSUB3690
2515 IFAN$="A"THEN930
2520 BL$=" "
2525 PRINT"[145][145][145]";BL$:PRINTBL$:PRINTBL$:PRINT"[145][145][145][145][145]"
2530 LA$="S":RETURN
2535 IFQ=0THENPRINT"THE REGISTER IS EMPTY.":FORT=1TO2000:NEXTT:GOTO2570
2537 LI$="[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
2545 GOSUB885:PRINT"[147][154] P R I N T R E G I S T E R "
2550 GOSUB210:GOSUB250:GOSUB3690
2555 IFAN$="A"THEN2570
2560 IFAN$<>CHR$(13)THEN2550
2565 GOTO2580
2570 IFREG$<>"REGISTER"+STR$(A)THENRETURN
2575 GOTO930
2580 PRINT" ***[158] PRINTING REGISTER ***"
2585 OPEN4,4:PRINT#4,NA$(A):PRINT#4,BN$(A):PRINT#4,"ACCOUNT #";AC$(A)
2590 PRINT#4:PRINT#4:PRINT#4," T# DATE * TRANSACTION & MEMO ";
2595 PRINT#4," AMOUNT BALANCE":PRINT#4,LI$;LI$
2605 FORX=1TOQ
2610 IFLEN(TN$(X))<4THENTN$(X)=" "+TN$(X):GOTO2610
2615 IFMK$(X)=""THENMK$(X)=" "
2620 PRINT#4,TN$(X);PO$;"07";DA$(X);" ";MK$(X);" ";DE$(X);PO$;"56";"$";AM$(X)
2625 PRINT#4,PO$;"19";RM$(X);PO$;"67";"$";BA$(X):PRINT#4,LI$;LI$
2630 NEXTX:PRINT#4:CLOSE4:IFREG$="REGISTER"+STR$(A)THEN930
2635 GOTO2260
2645 IFQ=0THENPRINT"THE REGISTER IS EMPTY.":FORT=1TO2000:NEXTT:GOTO930
2646 PRINT"[147][154] B A L A N C E A C C O U N T ":GOSUB2495
2650 PRINT"[158]DOES THE TRANSACTION SHOWN BELOW APPEAR"
2655 PRINT"ON THIS MONTH'S BANK STATEMENT? (Y[158]/N[158])"
2660 FORX=1TOQ
2665 IFMK$(X)="*"THEN2725
2670 IFLEFT$(TN$(X),1)="D"THENPT$="[158] DEPOSIT":GOTO2685
2675 IFLEFT$(TN$(X),1)="W"THENPT$="[158] WITHDRAWAL":GOTO2685
2680 PT$="[158]CHECK #"
2685 PRINT" ":FORT=1TO300:NEXTT
2690 IFPT$<>"[158]CHECK #"THEN2700
2695 PRINT"";PT$;TN$(X):GOTO2705
2700 PRINT"";PT$
2705 PRINTTAB(12)"[145][158]ON ";DA$(X)
2710 PRINTTAB(26)"[145][158]FOR $";AM$(X)
2715 GOSUB3690:IFAN$="Y"THENMK$(X)="*":GOTO2725
2720 IFAN$<>"N"THEN2715
2725 NEXTX
2730 PRINT"[158]IS THERE A MONTHLY SERVICE CHARGE? (Y[158]/N[158])[145]"
2735 GOSUB3690
2740 IFAN$="N"THEN2790
2745 IFAN$<>"Y"THEN2735
2750 PRINT"[158]ENTER THE AMOUNT OF THE SERVICE CHARGE"
2755 PRINT"SHOWN ON THE BANK STATEMENT:":Q=Q+1
2760 INPUT"[158]AMOUNT: $[157][157]";AM$(Q):Z$=AM$(Q):GOSUB2455:AM$(Q)=Z$
2770 TN$(Q)="S"+RIGHT$(STR$(VAL(LW$)+1),3):DA$(Q)=TD$
2775 RM$(Q)="SERVICE CHARGE":DE$(Q)=RM$(Q):CM$(Q)=" ":MK$(Q)="*"
2780 BA=VAL(BA$(Q-1)):AM=VAL(AM$(Q)):BS=BA-AM:BA$(Q)=STR$(BS)
2785 W=LEN(TN$(Q)):W=W-1:LW$=RIGHT$(TN$(Q),W):Z$=BA$(Q):GOSUB2455:BA$(Q)=Z$
2790 OT=VAL(BA$(Q)):FORX=1TOQ
2795 IFMK$(X)="*"THEN2810
2800 IFDE$(X)="DEPOSIT"THENOT=OT-VAL(AM$(X)):GOTO2810
2805 OT=OT+VAL(AM$(X))
2810 NEXTX:Z$=STR$(OT):GOSUB2455
2815 PRINT"[158]THE ENDING BALANCE ON THIS MONTH'S"
2820 PRINT"BANK STATEMENT SHOULD BE $";Z$
2825 PRINT"[158]IF THIS AGREES WITH THE STATEMENT,"
2830 PRINT"THEN PRESS RETURN [146][158]"
2835 PRINT"IF NOT, PRESS 'A[158]' TO A[158]DJUST BALANCE.[145][145]"
2840 GOSUB3690:IFAN$=CHR$(13)THEN930
2845 IFAN$<>"A"THEN2840
2850 PRINT"WHAT IS THE ENDING BALANCE SHOWN "
2855 INPUT"ON THE BANK STATEMENT $[157][157]";BZ$
2870 Q=Q+1:AJ=VAL(BZ$)-VAL(Z$):Z$=STR$(AJ):GOSUB2455:AM$(Q)=Z$
2880 Z$=STR$(VAL(BA$(Q-1))+VAL(AM$(Q))):GOSUB2455:BA$(Q)=Z$
2890 DE$(Q)="BAL. ADJUSTMENT":DA$(Q)=TD$:TN$(Q)="---":MK$(Q)="*":CM$(Q)="-"
2895 RM$(Q)="PER STATEMENT"
2900 PRINTCD$;"[158][145][145]YOUR BALANCE HAS BEEN ADJUSTED BY THE"
2905 PRINT"AMOUNT OF $";AM$(Q);"[158] TO AGREE WITH"
2910 PRINT"THIS MONTH'S BANK STATEMENT."
2915 FORT=1TO3000:NEXTT:GOTO930
2920 INPUT#15,EN,EM$,ET,ES
2922 IF EN=0 THEN RETURN
2923 IFNF=1THENNF=0:RETURN
2924 PRINTCD$;" ERROR ON DISK "
2925 PRINTEN,EM$,ET,ES
2926 CLOSE8:FORT=1TO11111:NEXTT:RUN20
2927 IF RS=64 THENRETURN
2928 IF RS<>0 THEN2930
2929 RETURN
2930 PRINTCD$;"BAD DISK STATUS IS "RS
2931 CLOSE8:FORT=1TO11111:NEXTT:RUN20
2950 OPEN8,8,8,"0:"+REG$+",S,R"
2960 GOSUB2920:IFED=1THEN90
2965 INPUT#8,QTN$,LD$,LW$,LC$
2970 GOSUB2920
2975 Q=VAL(QTN$):IFQ=0THENCLOSE8:RETURN
2980 FORX=1TOQ
2985 INPUT#8,DA$(X),TN$(X),DE$(X),CM$(X),RM$(X),AM$(X),BA$(X),MK$(X)
2990 RS=ST:GOSUB2920:GOSUB2927
3010 Z$=AM$(X):GOSUB2455:AM$(X)=Z$
3015 Z$=BA$(X):GOSUB2455:BA$(X)=Z$
3020 NEXTX:CLOSE8:RETURN
3035 OPEN8,8,8,"@0:"+REG$+",S,W"
3045 GOSUB2920
3050 QTN$=STR$(Q)
3055 PRINT#8,QTN$;CR$;LD$;CR$;LW$;CR$;LC$
3065 FORX=1TOQ
3070 PRINT#8,DA$(X);CR$;TN$(X);CR$;QO$+DE$(X)+QO$;CR$;QO$+CM$(X)+QO$
3075 PRINT#8,QO$+RM$(X)+QO$;CR$;AM$(X);CR$;BA$(X);CR$;MK$(X)
3080 GOSUB2920
3085 NEXTX:CLOSE8:RETURN
3095 IFMS=1THENRETURN
3100 OPEN8,8,8,"0:"+BILL$+",S,R"
3105 GOSUB2920
3110 INPUT#8,MB$
3115 GOSUB2920
3120 M=VAL(MB$):IFM=0THENCLOSE8:RETURN
3122 FORX=1TOM
3125 INPUT#8,MDE$(X),MCM$(X),MRM$(X),PF$(X),LP$(X),LN$(X)
3130 RS=ST:GOSUB2920:GOSUB2927
3135 NEXTX:CLOSE8:FORX=1TOM
3140 IFLEFT$(RIGHT$(LP$(X),3),1)<>"."THEN3150
3145 Z$=LP$(X):GOSUB2455:LP$(X)=Z$
3150 NEXTX:RETURN
3165 OPEN8,8,8,"@0:"+BILL$+",S,W"
3170 GOSUB2920
3175 PRINT#8,MB$
3180 GOSUB2920
3185 FORX=1TOM
3190 PRINT#8,QO$+MDE$(X)+QO$;CR$;QO$+MCM$(X)+QO$;CR$;QO$+MRM$(X)+QO$;CR$;PF$(X)
3195 PRINT#8,LP$(X);CR$;LN$(X)
3200 GOSUB2920:NEXTX:CLOSE8:RETURN
3210 PRINT"[147][154] READY TO PRINT CHECK # ";TN$(Q);" "
3215 GOSUB210:AD$(1)="":AD$(2)=""
3220 IFZ%=0THENGOSUB3230:Z%=1:GOTO3285
3225 GOTO3285
3230 FOR I=1TO19:READ N1$(I):NEXT
3235 FOR I=2TO9:READ N2$(I):NEXT
3240 FOR I=1TO12:READ M$(I):NEXT:RETURN
3245 :
3250 DATA ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,ELEVEN,TWELVE
3255 DATA THIRTEEN,FOURTEEN,FIFTEEN,SIXTEEN,SEVENTEEN,EIGHTEEN,NINETEEN
3260 :
3265 DATA TWENTY,THIRTY,FORTY,FIFTY,SIXTY,SEVENTY,EIGHTY,NINETY
3270 :
3275 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER
3280 DATA NOVEMBER,DECEMBER
3285 GOSUB3465:IFAS$="*** AND ***"THENS4=41-LEN(AT$):GOTO3310
3290 S1=LEN(AS$)/2:S2=LEN(AT$)/2
3295 IFS1>S2THEN3305
3300 S3=S2-S1:FORX=1TOS3:AS$=" "+AS$:NEXTX:S4=41-LEN(AS$):GOTO3310
3305 S3=S1-S2:FORX=1TOS3:AT$=" "+AT$:NEXTX:S4=41-LEN(AS$)
3310 SP$="":FORX=1TOS4:SP$=SP$+" ":NEXTX
3320 MM=VAL(LEFT$(DA$(Q),2)):IFMM>11THENMM=12
3321 IFMM<1THENMM=1
3325 D$=MID$(DA$(Q),4,2)
3330 YR$="19"+RIGHT$(DA$(Q),2)
3335 DT$=M$(MM)+" "+D$+","+YR$
3340 GOTO3610
3350 OPEN4,4:FORX=1TO3:PRINT#4:NEXTX
3355 PRINT#4,TAB(37);DT$
3360 IFAS$<>"*** AND ***"THEN3370
3365 PRINT#4:PRINT#4,TAB(5);AT$;SP$;AM$(Q):PRINT#4:GOTO3380
3370 PRINT#4:PRINT#4,TAB(5);AS$;SP$;AM$(Q)
3375 PRINT#4,TAB(5);AT$
3380 PRINT#4:PRINT#4,TAB(9);DE$(Q)
3385 PRINT#4,TAB(9);AD$(1):PRINT#4,TAB(9);AD$(2)
3390 PRINT#4,TAB(9);CM$(Q)
3395 FORX=1TO4:PRINT#4:NEXTX:CLOSE4:PRINT"":RETURN
3400 RETURN
3405 PRINT"[158] BE SURE THE **[158] WERE PRINTED AT THE"
3410 PRINT" UPPER LEFT CORNER OF CHECK # ";TN$(Q)
3415 PRINT"[158] MAKE ADJUSTMENTS IF NECESSARY,"
3425 PRINT"[158] PRESS ANY KEY TO CONTINUE.[145]"
3430 CLOSE3:OPEN3,4
3435 PRINT#3,"**";PO$;"50";
3440 PRINT#3," ":CLOSE3
3445 GOSUB3690:RETURN
3465 FOR J=1TO5:W$(J)="":NEXTJ
3470 CE$=RIGHT$(AM$(Q),2):CA$=LEFT$(AM$(Q),5)
3475 IFLEFT$(CA$,1)=" "THENCA$=RIGHT$(CA$,4)
3480 IFLEFT$(CA$,1)=" "THENCA$=RIGHT$(CA$,3)
3485 IFLEFT$(CA$,1)=" "THENCA$=RIGHT$(CA$,2)
3490 IFLEFT$(CA$,1)=" "THENCA$=RIGHT$(CA$,1)
3495 L1=LEN(CA$):U=1:ON L1 GOTO3530,3525,3510,3500
3500 T=VAL(MID$(CA$,U,1))
3505 W$(1)=N1$(T)+" THOUSAND ":U=U+1
3510 T=VAL(MID$(CA$,U,1)):IF T=0 THEN3520
3515 W$(2)=N1$(T)+" HUNDRED "
3520 U=U+1
3525 T1=VAL(MID$(CA$,U,1)):U=U+1
3530 T2=VAL(MID$(CA$,U,1))
3535 IF T1=0 THEN3550
3540 IF T1=1 THEN T3=10+T2:W$(5)=N1$(T3):GOTO3565
3545 W$(3)=N2$(T1)
3550 IF T2=0 THEN W$(5)=W$(3):GOTO3565
3555 W$(4)=N1$(T2):IF T1=0 THEN W$(5)=W$(4):GOTO3565
3560 W$(5)=W$(3)+"-"+W$(4)
3565 AS$="*** "+W$(1)+W$(2)+"AND ***":SG$=" & ":IFW$(5)=""THENSG$=""
3570 AT$="*** "+W$(5)+SG$+CE$+"/100 DOLLARS ***"
3575 T=0:T1=0:T2=0
3580 RETURN
3585 PRINT"[158]ENTER 1ST LINE OF 2 LINE ADDRESS:"
3590 GOSUB160:AD$(1)=AN$
3595 PRINT"[158]ENTER 2ND LINE OF ADDRESS:"
3600 GOSUB160:AD$(2)=AN$
3605 RETURN
3610 PRINT"[147][154] READY TO PRINT CHECK # ";TN$(Q);" "
3615 SL$(1)=" PRINT CHECK "
3620 SL$(2)=" ENTER ADDRESS FOR CHECK "
3625 SL$(3)=" PRINT ASTRISKS FOR ALIGNMENT "
3630 SL$(4)=" ABORT PRINTING "
3635 AN=1:MN=4:C3$="[145][145][145][145][145][145][145]":C4$="":C5$="":GOSUB3720
3665 IFAN=1THENGOTO3350
3670 IFAN=2THENGOSUB3585:GOTO3610
3675 IFAN=3THENGOSUB3405:GOTO3610
3680 IFAN=4THENRETURN
3690 GETAN$:IFAN$=""THEN3690
3695 RETURN
3702 CLOSE8:CLOSE15:POKE198,4
3703 PRINT"[147][144]LOAD"CHR$(34)"B.A. UTIL.";
3704 PRINT CHR$(34)",8";
3705 POKE631,13:POKE632,82:POKE633,117:POKE634,13
3706 END
3710 CLOSE8:CLOSE15:POKE198,1
3711 PRINT"[147][144]LOAD"CHR$(34)"B.A. INFO.";
3712 PRINT CHR$(34)",8,1";
3713 POKE631,13
3714 END
3720 PRINT"[158] CHOOSE WITH CURSOR KEYS:"
3725 FORX=1TOMN:PRINTDN$;S7$;C1$;SL$(X):NEXTX
3730 PRINT"[158] PRESS RETURN [146][158] TO ENTER SELECTION.[145]"
3735 PRINT"";C5$;S7$;C2$;SL$(1)
3740 GETAN$:IFAN$=""THEN3740
3745 IFAN$=CHR$(13)THENAN$=STR$(AN):RETURN
3750 IFAN$=CHR$(145)THEN3760
3755 IFAN$=CHR$(17)THEN3780
3757 GOTO3740
3760 LN=AN:AN=AN-1:IFAN=0THENAN=MN
3765 PRINT"[145]";S7$;C1$;SL$(LN)
3770 IFLN=1THENPRINTC4$;S7$;C2$;SL$(AN):GOTO3740
3775 PRINTUP$;"[145][145]";S7$;C2$;SL$(AN):GOTO3740
3780 LN=AN:AN=AN+1:IFAN=MN+1THENAN=1
3785 PRINT"[145]";S7$;C1$;SL$(LN)
3790 IFLN=MNTHENPRINTC3$;S7$;C2$;SL$(AN):GOTO3740
3795 PRINTDN$;" ";C2$;SL$(AN):GOTO3740
3800 IFQ=0THENPRINT"THE REGISTER IS EMPTY.":FORT=1TO2000:NEXTT:GOTO930
3801 H=0:FORL=1TOQ:IFMK$(L)<>"*"THENH=1
3802 NEXTL:IFH=1THENX=1:GOTO3805
3803 PRINT"ALL TRANSACTIONS HAVE CLEARED THE BANK."
3804 FORT=1TO2000:NEXTT:GOTO930
3805 PRINT"[147][154] T R A N S A C T I O N E D I T O R "
3807 PRINT"[158] CHOOSE WITH CURSOR KEYS:":V=1
3810 IFX=Q+1THENX=1
3811 IFX=0THENX=Q
3813 PRINT"[155] "
3814 PRINT"[145] [146][157][157][145][145]"
3815 PRINT"[155]"TN$(X):PRINTTAB(5)"[145][145]"DE$(X):PRINTTAB(31)"[145][145]$";AM$(X);DA$(X)
3820 IFMK$(X)=""THENMK$(X)=" "
3825 PRINTTAB(9)"[145]"MK$(X)" "RM$(X):PRINTTAB(27)"[145]BAL:$";BA$(X)
3830 PRINT"[158] PRESS RETURN [146][158] TO ENTER SELECTION."
3835 GETAN$:IFAN$=""THEN3835
3840 IFAN$=CHR$(13)THEN3865
3845 IFAN$=CHR$(145)THENX=X-1:V=-1:GOTO3860
3850 IFAN$=CHR$(17)THENX=X+1:V=1:GOTO3860
3855 GOTO3835
3860 PRINT"":GOTO3810
3865 SL$(1)=" SELECT ANOTHER TRANSACTION "
3866 SL$(2)=" CHANGE TRANSACTION NAME "
3867 SL$(3)=" CHANGE TRANSACTION MEMO "
3868 SL$(4)=" EDIT TRANSACTION DATE "
3869 SL$(5)=" EDIT TRANSACTION AMOUNT "
3870 SL$(6)=" DELETE THIS TRANSACTION "
3871 SL$(7)=" RETURN TO MAIN MENU "
3875 AN=1:MN=7:C3$="[145][145][145][145][145][145][145][145][145][145][145][145][145]":C4$="":C5$="":F=X
3877 PRINT" [145][145]":GOSUB3725:X=F
3880 PRINT""
3885 ON AN GOTO3805,3890,3890,3940,3940,4000,930
3890 PRINT" [158]ENTER NEW LINE, THEN PRESS RETURN ":GOSUB160
3894 IFAN=2THENDE$(X)=AN$:GOTO3998
3897 IFAN=3THENRM$(X)=AN$:GOTO3998
3900 OO=0:IFMS<>1THENRETURN
3905 FORO=1TOM:IFLN$(O)<>TN$(X)THEN3915
3910 OO=O:O=M
3915 NEXTO:RETURN
3940 ET$=DA$(X):IFAN=5THENET$=AM$(X)
3945 PRINT" [158]EDIT DATA, THEN PRESS RETURN [146] "
3950 PRINT" "ET$
3955 INPUT"[145]";ET$
3960 IFAN=5THEN3975
3965 IFET$=DA$(X)THEN3805
3967 GOSUB3900:IFOO<>0THENPF$(OO)=ET$:SV=1
3970 DA$(X)=ET$:GOTO3998
3975 IFET$=AM$(X)THEN3805
3982 ZI$=ET$:PRINT"[145]ADJUSTING BALANCES....PLEASE WAIT.[145]"
3983 ZI=VAL(ZI$)-VAL(AM$(X))
3984 IFLEFT$(TN$(X),1)="D"THEN3990
3985 IFVAL(ZI$)>VAL(AM$(X))THEN3993
3986 IFVAL(ZI$)<VAL(AM$(X))THENZI=ZI*-1:GOTO3994
3987 GOTO3992
3990 IFVAL(ZI$)>VAL(AM$(X))THEN3994
3991 IFVAL(ZI$)<VAL(AM$(X))THENZI=ZI*-1:GOTO3993
3992 IFVAL(ZI$)=VAL(AM$(X))THEN3805
3993 FORF=XTOQ:ZB=VAL(BA$(F)):Z$=STR$(ZB-ZI):GOSUB2455:BA$(F)=Z$:NEXTF:GOTO3995
3994 FORF=XTOQ:ZB=VAL(BA$(F)):Z$=STR$(ZB+ZI):GOSUB2455:BA$(F)=Z$:NEXTF
3995 Z$=ZI$:GOSUB2455:AM$(X)=Z$
3996 GOSUB3900:IFOO<>0THENLP$(OO)=Z$:SV=1
3997 PRINT"[145][145]":GOSUB1750
3998 LA$="S":GOTO3805
4000 PRINT" [158]PROCEED WITH DELETION? (Y[158]/N[158]) "
4005 GOSUB3690:IFAN$="N"THEN3805
4010 IFAN$<>"Y"THEN4005
4012 PRINT"ADJUSTING TRANSACTIONS...PLEASE WAIT."
4015 IFLEFT$(TN$(X),1)="D"THEN4027
4017 FORF=X+1TOQ
4020 ZB=VAL(AM$(X)):ZC=VAL(BA$(F)):Z$=STR$(ZB+ZC):GOSUB2455:BA$(F)=Z$:NEXTF
4025 GOTO4035
4027 FORF=X+1TOQ
4030 ZB=VAL(AM$(X)):ZC=VAL(BA$(F)):Z$=STR$(ZC-ZB):GOSUB2455:BA$(F)=Z$:NEXTF
4035 FORF=XTOQ-1
4040 DA$(F)=DA$(F+1):TN$(F)=TN$(F+1):DE$(F)=DE$(F+1):CM$(F)=CM$(F+1)
4045 RM$(F)=RM$(F+1):AM$(F)=AM$(F+1):BA$(F)=BA$(F+1):MK$(F)=MK$(F+1)
4050 NEXTF:DA$(Q)="":TN$(Q)="":DE$(Q)="":CM$(Q)="":RM$(Q)="":AM$(Q)=""
4055 BA$(Q)="":MK$(Q)="":Q=Q-1
4056 PRINT"[145][145]":GOSUB1750
4060 LA$="S":GOTO3805
4100 IFQ=0THENPRINT"THE REGISTER IS EMPTY.":FORT=1TO2000:NEXTT:GOTO1400
4101 GOSUB885:PRINT"[147][154] PRINT MONTHLY BILLS SUMMARY "
4105 GOSUB210:GOSUB250
4107 LI$="[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
4110 GETAN$:IFAN$=""THEN4110
4115 IFAN$="A"THEN1400
4120 IFAN$<>CHR$(13)THEN4110
4121 PRINT" *** [158]PRINTING SUMMARY ***":OPEN4,4
4128 TP=0:Z$="":FORX=1TOM:IFLP$(X)=" UNPAID "THEN4130
4129 TP=TP+VAL(LP$(X))
4130 NEXTX:Z$=STR$(TP):GOSUB2455
4135 PRINT#4," ";NA$(A):PRINT#4," ";BN$(A):PRINT#4," ACCOUNT #";AC$(A)
4140 PRINT#4:PRINT#4:PRINT#4,LI$;LI$:PRINT#4
4145 PRINT#4," M O N T H L Y B I L L S S U M M A R Y - ";TD$
4150 PRINT#4:PRINT#4,LI$;LI$:PRINT#4
4155 FORX=1TOM
4160 PRINT#4," ";MDE$(X);PO$;"33";MRM$(X);PO$;"56";"AMOUNT PAID: $";LP$(X)
4170 PRINT#4," ";MCM$(X);PO$;"33";"DATE PAID: "PF$(X);PO$;"56";"CHECK #";LN$(X)
4175 PRINT#4:NEXTX
4185 PRINT#4:PRINT#4,LI$;LI$
4190 PRINT#4," T O T A L A M O U N T P A I D : $";Z$
4195 PRINT#4,LI$;LI$:PRINT#4:CLOSE4:GOTO1400
4200 PRINT"[147] [154] M O N T H L Y B I L L S "
4202 PRINT"[158] CHOOSE WITH CURSOR KEYS:"
4205 N=AN:FORX=1TOM:SL$(X)=" "+MDE$(X)+" ":NEXTX:SL$(M+1)=" RETURN TO MENU "
4215 AN=1:MN=M+1:C5$=""
4216 C3$="":FORX=1TOMN:C3$=C3$+"[145]":NEXTX
4217 C4$="":FORX=1TOMN-2:C4$=C4$+"":NEXTX
4235 UP$="":DN$="":GOSUB3725:UP$="[145]":DN$=""
4240 IFN=1THEN1470
4245 IFN=4THEN1625